home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
s85xx
/
s8506a.d64
/
Erstellen eines
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
7KB
|
218 lines
7 POKE45,PEEK(174):POKE46,PEEK(175):CLR
8 REM (C) BY KLAUS KLOEKER
9 CLR:DIMA$(15),E(50,6),E$(50,6):GOTO1000
10 Z1=3:Z2=9:S=13:REM * MASKE LOESCHEN *
15 FORZ=Z1TOZ2:GOSUB90:PRINT" ":NEXT:IFC=0THENRETURN
20 Z1=13:Z2=21:C=0:GOTO15
30 FORJ=2TO6:E$(I,J)=STR$(INT(E(I,J)*10+.5)):REM * FORMAT TABELLE
35 E$(I,J)=LEFT$(E$(I,J),LEN(E$(I,J))-1)+"."+RIGHT$(E$(I,J),1)
40 L$="":FORA=1TO10-LEN(E$(I,J)):L$=L$+".":NEXT
45 E$(I,J)=L$+E$(I,J)
50 IFLEN(E$(I,J))>10THENE$(I,J)=RIGHT$(E$(I,J),10)
55 NEXT:RETURN
70 LOAD"FM.MENUE",8:REM *LOAD MENUE
80 A=55909:FORI=1637TO1662:POKEI,100:POKEA,1:A=A+1:NEXT:RETURN
90 POKE214,Z:POKE211,S:SYS58732:RETURN:REM * CURSORPOSITION *
95 FORI=56216TO56255:POKEI,O:NEXT:RETURN
100 REM * AUSWAHLROUTINE *
110 GOSUB90:PRINT" [146]":FORI=1TO75:NEXTI
120 GOSUB90:PRINT""A$(Y)"[146]":FORI=1TO125:NEXT
130 GETG$:IFG$<>CHR$(133)ANDG$<>CHR$(134)ANDG$<>CHR$(135)ANDG$<>CHR$(13)THEN110
140 IFG$=CHR$(133)ANDCTHENC=0:RETURN
150 IFG$=CHR$(13)THENGOSUB90:A$(Y)=">"+MID$(A$(Y),2,10):PRINT""A$(Y)"[146]":RETURN
155 IFG$=CHR$(134)THEN170
160 IFG$=CHR$(135)THEN190
165 GOTO110
170 Z=Z+SW:Y=Y+1:IFZ>Z2THENZ=Z1:Y=Y1
180 GOTO110
190 Z=Z-SW:Y=Y-1:IFZ<Z1THENZ=Z2:Y=Y2
195 GOTO110
200 REM * WAHL-FUSSZEILE *:S=0
210 Z=23:GOSUB90:PRINT" [146]";:FORI=1TO75:NEXT
220 GOSUB90:PRINT""BA$(Y)"[146]";:FORI=1TO175:NEXT
230 GETG$:IFG$<>CHR$(134)ANDG$<>CHR$(135)ANDG$<>CHR$(13)THEN210
240 IFG$=CHR$(13)THENGOSUB90:PRINT">[146]";:RETURN
250 IFG$=CHR$(135)THEN280
260 S=S+8:Y=Y+1:IFS>32THENS=0:Y=1
270 GOTO210
280 S=S-8:Y=Y-1:IFS<0THENS=32:Y=5
290 GOTO210
300 REM * EINGABEROUTINE *
310 GOSUB90
320 IN$=""
330 PRINT"[162][157]";
340 GETG$:IFG$=""THEN340
350 G=ASC(G$):IFG=13THENGOTO460
360 IFG=13THENRETURN
370 IFG$<"0"ORG$>"9"THEN420
380 IN$=IN$+G$
390 PRINTG$;
400 IFLEN(IN$)>NTHENFORI=1TOLEN(IN$):PRINTCHR$(20);:NEXT:GOTO320
410 GOTO330
420 IFG=46THEN380
425 IFG$=CHR$(133)THEN9
430 IFG<>20THEN330
440 IFLEN(IN$)<1THEN330
450 IN$=LEFT$(IN$,LEN(IN$)-1):GOTO390
460 PN$="":FORI=1TO(9-LEN(IN$)):PN$=PN$+".":NEXT:PRINTPN$
470 IFLEN(IN$)<1THEN310
480 RETURN
900 REM * MASKE *
910 PRINTMA$:A=55388:FORI=1076TO1906STEP40:POKEI,101:POKEA,1:A=A+40:NEXT
920 A=55776:FORI=1504TO1514:POKEI,100:POKEA,1:A=A+1:NEXT
930 A=55785:FORI=1517TO1546:POKEI,100:POKEA,1:A=A+1:NEXT
950 Z=3:S=0:GOSUB90:PRINT"[193]USWAHL :":PRINT"[163][163][163][163][163][163][163][163][163]":PRINT" - - - - - [146]"
960 Z=6:FORI=1TO3:GOSUB90:PRINT""A$(I)"[146]":PRINT" - - - - - [146]":Z=Z+2:NEXT
970 RETURN
999 :
1000 REM ** TILGUNGSRECHNUNG *
1010 GOSUB6000:GOSUB900
1020 Z=23:S=0:GOSUB90:PRINTMB$
1080 Z=6:Z1=Z:Z2=10:S=0:Y=1:Y1=Y:Y2=3:SW=2:C=0:GOSUB100:F=Y:IFF=3THEN70
2000 REM * EINGABEMASKE *
2010 Z=3:S=13:GOSUB90:PRINT"[197]INGABE :":Z=4:GOSUB90:PRINT"[163][163][163][163][163][163][163][163][163]"
2020 Z=5:FORI=4TO6:S=13:GOSUB90:PRINT""A$(I)"[146] : ";PM$
2030 Z=Z+2:NEXT:Z=23:S=0:GOSUB90:PRINTMC$
2040 Z=5:S=27:N=9:FORJ=4TO6:GOSUB300:A(J)=VAL(IN$):Z=Z+2:NEXT
2070 Z=14:S=13:GOSUB90:PRINT"[197]INGABE KORREKT ? (J/N):":GOSUB80
2080 Z=14:S=38:GOSUB90:PRINT"[162][157]";
2090 GETG$:IFG$<>"J"ANDG$<>"N"THEN2090
2100 PRINTG$:IFG$="J"THENY=1
2110 IFG$="N"THENY=0
2120 GETI$:IFI$<>CHR$(13)ANDI$<>CHR$(20)THEN2120
2130 IFI$=CHR$(20)THEN2080
2140 C=1:GOSUB10:IFY=0THEN2010
3000 REM * RECHNUNG *
3005 PRINT"[147]":Z=23:S=23:GOSUB90:PRINTMG$:EE(3)=0:EE(5)=0
3010 IFF=2THEN3500
3100 REM * RATENTILGUNG *
3110 T1=A(4)/A(6):J2=0:T2=0
3120 FORI=1TOA(6):R1=A(4)-J2*T2:Z1=R1*(A(5)/100):A1=Z1+T1
3130 E(I,2)=R1:E(I,3)=Z1:E(I,4)=T1:E(I,5)=A1:E(I,6)=A1/12:GOSUB30
3140 FORJ=3TO5STEP2:EE(J)=EE(J)+E(I,J):NEXT
3150 J2=J2+1:T2=(A(4)/A(6)):NEXT:GOTO3700
3500 REM * AUNNUITAETENTILGUNG *
3510 Q1=A(5)/100+1:T1=A(4)*((Q1-1)/(Q1^A(6)-1))
3520 Z1=A(4)*(A(5)/100):A1=T1+Z1:R1=A(4)
3530 E(1,2)=R1:E(1,3)=Z1:E(1,4)=T1:E(1,5)=A1:E(1,6)=A1/12:I=1:GOSUB30
3540 T2=T1:FORI=2TOA(6):R1=R1-T2:Z2=R1*(A(5)/100):T2=T2*Q1
3550 E(I,2)=R1:E(I,3)=Z2:E(I,4)=T2:E(I,5)=A1:E(I,6)=A1/12:GOSUB30
3560 FORJ=3TO5STEP2:EE(J)=EE(J)+E(I,J):NEXTJ:NEXTI
3570 EE(3)=EE(3)+E(1,3):EE(5)=EE(5)+E(1,5)
3700 EE(3)=EE(3)/2:EE(5)=EE(5)/2
3710 FORI=3TO5STEP2:EE$(I)=STR$(INT(EE(I)*10/.5))
3720 EE$(I)=LEFT$(EE$(I),LEN(EE$(I))-1)+"."+RIGHT$(EE$(I),1):NEXT
3800 REM * SCREEN *
3805 GOSUB900
3810 Z=3:S=13:GOSUB90:PRINT"[197]INGABE :":Z=4:GOSUB90:PRINT"[163][163][163][163][163][163][163][163][163]"
3820 Z=5:S=13:FORI=4TO6:GOSUB90:PRINTA$(I)" :"A(I):Z=Z+2:NEXT
3830 Z=14:S=13:GOSUB90:PRINT"[210]ESULTAT :":Z=15:GOSUB90:PRINT"[163][163][163][163][163][163][163][163][163][163]"
3840 Z=17:FORJ=3TO5STEP2:GOSUB90:PRINT""EC$(J)"[146]:"EE$(J):Z=Z+2:NEXT
3850 Z=21:GOSUB90:PRINT"[193]USDRUCK IN '[196][205]' !"
3860 ZA=VAL(EE$(3))/(VAL(EE$(5))/100)
3870 Z=14:S=0:GOSUB90:PRINT" [218]INS- [146]":Z=15:GOSUB90:PRINT" ANTEIL [146]"
3880 ZA$=STR$(ZA):IFZA<10THENZA$=" "+ZA$
3890 ZA$=LEFT$(ZA$,5):Z=17:S=2:GOSUB90:PRINTZA$;" %"
3900 Z=18:S=3:GOSUB90:PRINT"======"
3910 Z=23:S=0:GOSUB90:FORI=1TO5:PRINT""BA$(I)"[146]";:NEXT
3920 Y=1:GOSUB200:IFY=5THEN70
3930 IFY=4THEN9
3940 IFY=3THEN5500
3950 IFY=2THEN5000
4000 REM * TABELLE *
4010 GOSUB95:X1=2:X2=4:Y1=1:Y2=A(6)
4020 Z=1:S=0:GOSUB90:FORI=1TO22:PRINTMD$:NEXT:Z=22:GOSUB90:PRINTMH$
4030 Z=3:S=0:GOSUB90:PRINTM$(1)
4040 Z=3:S=6:FORI=X1TOX2:GOSUB90:PRINTM$(I):S=S+11:NEXT
4050 Z=4:S=1:GOSUB90:FORI=1TO37:PRINT"=";:NEXT
4100 Z=6:S=1:FORI=Y1TOY2
4105 I$=STR$(I):IFI<10THENI$="."+I$
4107 GOSUB90:PRINT"."+I$:S=6
4110 FORJ=X1TOX2
4120 GOSUB90:PRINTE$(I,J)
4130 S=S+11:NEXTJ
4140 IFPEEK(214)>15THENY2=I:Y1=Y2-9:GOTO4200
4150 Z=Z+1:S=1:NEXTI
4200 Z=17:S=1:GOSUB90:FORJ=1TO38:PRINT"-";:NEXT
4500 WAIT203,63:GETG$
4510 IFG$=CHR$(29)THEN4550
4520 IFG$=CHR$(157)THEN4580
4530 IFG$=CHR$(17)THEN4610
4540 IFG$=CHR$(145)THEN4640
4543 IFG$=CHR$(133)THEN3800
4545 GOTO4500
4550 X1=X1+1:X2=X2+1:REM * ->
4560 IFX2>6THENX2=6:X1=4:GOTO4500
4570 GOTO4030
4580 X1=X1-1:X2=X2-1:REM * <-
4590 IFX1<2THENX1=2:X2=4:GOTO4500
4600 GOTO4030
4610 IFA(6)<10THENGOTO4500
4615 Y1=Y1+10:Y2=Y2+10:REM * DOWN
4620 IFY2>A(6)THENY2=A(6):Y1=Y2-9:IFI=A(6)THEN4500
4630 GOTO4030
4640 IFA(6)<10THENGOTO4500
4645 Y1=Y1-10:Y2=Y2-10:REM * UP
4650 IFY1<1THENY1=1:Y2=Y1+9:IFI<11THEN4500
4660 GOTO4030
5000 REM * AENDERUNG *
5010 C=1:GOSUB10:S=0:FORZ=13TO20:GOSUB90:PRINT" ":NEXT
5020 Z=3:S=13:GOSUB90:PRINT"[193]ENDERUNG :":Z=4:GOSUB90:PRINT"[163][163][163][163][163][163][163][163][163][163][163]"
5030 Z=5:S=13:FORI=4TO6:GOSUB90:PRINT""A$(I)"[146] :";A(I):Z=Z+2:NEXT
5040 Z=23:S=0:GOSUB90:PRINTMF$;
5050 Z=5:Z1=Z:Z2=9:S=13:Y=4:Y1=Y:Y2=6:SW=2:C=1:GOSUB100
5060 IFC=0GOTO3000
5070 Z=14:S=13:GOSUB90:PRINT""A$(Y)"[146] : ";PM$:GOSUB80
5080 Z=23:S=0:GOSUB90:PRINTMC$;:Z=14:S=27:GOSUB300:A(Y)=VAL(IN$)
5090 A$(Y)=" "+MID$(A$(Y),2,10):GOTO5010
5500 REM * PRINTER
5505 TB$=CHR$(16):TA$=CHR$(10)
5510 OPEN4,4,7:PRINT#4,CHR$(14)TB$"10[193]USDRUCK EINES [212]ILGUNGSPLANES"
5520 PRINT#4,TB$;"10-----------------------------"TA$
5530 FORI=4TO6:PRINT#4,CHR$(15)TB$"10*** "A$(I)" : "A(I):NEXT
5540 PRINT#4,TA$;TA$;TA$
5550 FORI=1TO6:PRINT#4," "M$(I);:NEXT:PRINT#4," "
5560 FORI=1TO40:PRINT#4,"--";:NEXT:PRINT#4
5570 FORI=1TOA(6):I$=STR$(I):IFI<10THENI$="."+I$
5575 PRINT#4," ."+I$" ";
5580 FORJ=2TO6:PRINT#4," .."E$(I,J);:NEXTJ:PRINT#4," ":NEXTI
5590 FORI=1TO40:PRINT#4,"--";:NEXT:PRINT#4
5595 PRINT#4," [199]ESAMT:";
5600 PO=27:FORJ=3TO5STEP2:PRINT#4,SPC(PO-LEN(EE$(J)))EE$(J);:PO=26:NEXT
5610 PRINT#4,TA$;TA$;TB$"10*** [193]USDRUCK DER [212]ABELLE ERFOLGT IN '[196][205]' !"
5620 PRINT#4,TB$"10*** [194]ERECHNUNG DER [218]INSEN ERFOLGT AM [197]NDE DES [202]AHRES !"
5630 PRINT#4,TA$;TB$"10*** [212]ILGUNG KONSTANT = [210]ATENTILGUNG !!"
5640 PRINT#4,TB$"10*** [193]NNUITAET KONSTANT = [193]NNUITAETENTILGUNG !!"
5650 PRINT#4:FORI=1TO40:PRINT#4,"==";:NEXTI:PRINT#4,TA$;TA$;TA$;TA$
5660 CLOSE4:GOTO3860
6000 REM * VARIABLEN *
6010 MA$="[147] [212] [201][160][204][160][199][160][213][160][206][160][199][160][211][160][210][160][197][160][195][160][200][160][206][160][213][160][206][160][199] [146]"
6020 MB$=" [198]3 U. [198]5 - [215]AHL ! '[210][197][212][213][210][206]' - [197]INGABE !"
6030 MC$=" [198]1 - [193]USWAHL ! [199]EBEN [211]IE EIN ! [146]"
6040 MD$=" "
6050 ME$=" [146]"
6060 MF$=" [198]1 - [210]ESULTAT ! [198]3 U. [198]5 - [215]AHL ! [146]"
6070 MG$="[194]ITTE [215]ARTEN !!!"
6080 MH$=" [198]1 - [210]ESULTAT ! [195]URSOR - [211]TEUERN ! [146]"
6100 A$(1)=" [210]ATENTILG."
6110 A$(2)=" [193]NNU.TILG."
6120 A$(3)=" [205]ENUE "
6130 A$(4)=" [196]ARLEHEN "
6140 A$(5)=" [218]INSSATZ "
6150 A$(6)=" [202]AHRE "
6160 PM$="........."
6200 M$(1)=" [202]AHR "
6210 M$(2)="[210]ESTSCHULD"
6220 M$(3)=" [218]INSEN"
6230 M$(4)=" [212]ILGUNG"
6240 M$(5)=" [193]NNUITAET"
6250 M$(6)=" [193]NNU./[205]ON"
6300 EC$(3)=" [218]INSEN GES."
6310 EC$(5)=" [193]NNUIT. GES."
6400 BA$(1)=" [212]ABELLE"
6410 BA$(2)=" [193]ENDERN"
6420 BA$(3)=" [203]OPIE "
6430 BA$(4)=" [206]EU "
6440 BA$(5)=" [205]ENUE "
6500 RETURN